const express = require("express");

const app = express();

// express 内置中间件:
// express.static 静态资源中间件
const public = express.static("public");
app.use(public);

// 也可以为内置中间件配置选项
// const options = {
//   dotfiles: "ignore", // 忽略点文件
//   etag: false, // 禁用 etag
//   extensions: ["htm", "html"], // 支持的文件后缀名
//   index: false, // 禁用默认文档
//   maxAge: "1d", // 缓存控制
//   redirect: false, // 禁用目录重定向
//   setHeaders: function (res, path, stat) {
//     // 自定义设置响应头
//     res.set("x-timestamp", Date.now());
//   },
// };
// const publicWithOptions = express.static("public", options);
// app.use(publicWithOptions);

// 也可以为指定路由挂载静态资源中间件
// app.use("/static", public);

// 访问方式:
// http://127.0.0.1:3000/static/index.html

// json 中间件
// 配置解析 application/json 类型的请求体
app.use(express.json());

// urlencoded 中间件
// 配置解析 application/x-www-form-urlencoded 类型的请求体
app.use(express.urlencoded({ extended: false }));

// 测试 json 和 urlencoded 中间件
app.post("/user", function (req, res) {
  // 获取请求体数据
  // 若不配置解析中间件, 则 req.body 默认是 undefined
  console.log(req.body);
  res.send("ok");
});



// 3. 监听端口启动服务
app.listen(3000, function () {
  console.log("Express server is running at http://127.0.0.1:3000");
});
